package com.industrial.premu.mapper;

import com.industrial.premu.domain.PreMuAnalysisPolicyImple;
import com.industrial.premu.domain.PreMuPolicyAnisVo;
import com.industrial.premu.domain.vo.PreMuAnalysisPolicyImpleUnExecVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface PreMuAnalysisPolicyImpleMapper {

    /**
     * 查询差别化政策执行分析
     *
     * @param baseId 差别化政策执行分析主键
     * @return 差别化政策执行分析
     */
    public PreMuAnalysisPolicyImple selectPreMuAnalysisPolicyImpleByBaseId(String baseId);

    /**
     * 查询差别化政策执行分析列表
     *
     * @param preMuAnalysisPolicyImple 差别化政策执行分析
     * @return 差别化政策执行分析集合
     */
    public List<PreMuAnalysisPolicyImple> selectPreMuAnalysisPolicyImpleList(PreMuAnalysisPolicyImple preMuAnalysisPolicyImple);

    /**
     * 新增差别化政策执行分析
     *
     * @param preMuAnalysisPolicyImple 差别化政策执行分析
     * @return 结果
     */
    public int insertPreMuAnalysisPolicyImple(PreMuAnalysisPolicyImple preMuAnalysisPolicyImple);

    /**
     * 修改差别化政策执行分析
     *
     * @param preMuAnalysisPolicyImple 差别化政策执行分析
     * @return 结果
     */
    public int updatePreMuAnalysisPolicyImple(PreMuAnalysisPolicyImple preMuAnalysisPolicyImple);

    /**
     * 删除差别化政策执行分析
     *
     * @param baseId 差别化政策执行分析主键
     * @return 结果
     */
    public int deletePreMuAnalysisPolicyImpleByBaseId(String baseId);

    /**
     * 批量删除差别化政策执行分析
     *
     * @param baseIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePreMuAnalysisPolicyImpleByBaseIds(String[] baseIds);

    void batchInsertAnalysisPolicyImple(@Param("list") List<PreMuAnalysisPolicyImple> list);

    PreMuPolicyAnisVo selectCurrentYearPolicyExecCount(@Param("params") PreMuAnalysisPolicyImple params);

    Map queryZfjl(PreMuAnalysisPolicyImple params);

    List<PreMuAnalysisPolicyImpleUnExecVo> queryCbhzcZzt(PreMuAnalysisPolicyImple params);


    List<PreMuAnalysisPolicyImpleUnExecVo> queryReleaseDept(PreMuAnalysisPolicyImple params);

    List<PreMuAnalysisPolicyImple> queryCountyPolicyDetailInfo(PreMuAnalysisPolicyImple params);


    List<PreMuAnalysisPolicyImple> selectYdWz(PreMuAnalysisPolicyImple params);


}
